using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Transactions;
using RFS.BizLogic.PaiShi.Ports.Adapters;
using RFS.Domain.PaiShi.Accounting;
using RFS.Domain.PaiShi.Zuhuo;
using RFS.Domain.Sys;

namespace RFS.BizLogic.PaiShi.Ports
{
    public interface IRepoZahua
    {
         
        // void SaveEntity(ZaHuaItem o);
        // List<dynamic> ExecuteSqlQuery(string query);
        // void DeleteEntity(AVSEntity toEntity  );
        // AVSEntity GetById(ulong id);
        IEnumerable<ZaHuaItem> GetRecordsByDay(DateTime day, bool includeHistLeftOver=false);
        // void SaveTheAvsListItem(IDayBasedWorkFlowNodeAccountingVoucherSetWrapper o);


        (string dk, string pzCode, string len, string gg) ParseCode(string sn);
        void ReCreateTables(string pwd);
        Task SaveEntitysAsync(IEnumerable<ZaHuaItem> os, bool check4Update = true);
        Task SaveEntityAsync(ZaHuaItem o, bool check4Update = true);
        IEnumerable<ZaHuaItem> SyncZahuaDataFromProductionLine(DateTime day);
        ZaHuaItem CreateNewZahua();
        void Del(IEnumerable<ZaHuaItem> zaHuaItems);
    }
}